Power management improvements

ABSTRACT

A data processing system refreshes a display at a first frequency when operating in a first power mode. The data processing system refreshes the display at a second frequency when operating in a second mode. The first frequency is higher than the second frequency, and the second power mode is configured to consume less power than the first power mode.

FIELD OF THE INVENTION

The various embodiments described herein relate to improving themanagement of power by a data processing system, and more particularly,improving the endurance of a finite power source.

BACKGROUND OF THE INVENTION

Modern data processing systems are frequently portable devices. Forexample, a laptop computer may be operated on battery power, rather thanplugged into an A/C outlet. Batteries have a finite charge during whichthe data processing system may be operated. Once the battery is drained,no further operation of the system is possible without using a differentbattery or connecting the system to A/C power to recharge the battery.Managing and extending battery life is an important design considerationfor such devices.

Many different kinds of applications can be run on a portable dataprocessing system, such as video games, spreadsheets, web browsers, andothers. Depending on the application, a responsive display is more orless important. For example, a fast-paced video game may becomeunplayable if the display is not highly responsive. On the other hand, auser performing an analysis on a spreadsheet might not even notice aless responsive display (i.e., display has a lower refresh rate).Refreshing a display (e.g., an LCD panel coupled to a laptop computer)consumes power every time it is performed. Over time, refreshing thedisplay less frequently consumes less power.

SUMMARY OF THE DESCRIPTION

A data processing system, in one embodiment, refreshes a display at afirst frequency when operating in a first power mode. The dataprocessing system refreshes the display at a second frequency whenoperating in a second mode. The first frequency is higher than thesecond frequency, and the second power mode is configured to consumeless power than the first power mode.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and notlimitation in the figures of the accompanying drawings in which likereferences indicate similar elements.

FIG. 1 shows a diagram illustrating a data processing system and powersources suitable for the operation of an embodiment of the invention.

FIG. 2 shows a block diagram illustrating another data processing systemsuitable for the operation of an embodiment of the invention.

FIG. 3 is a flow diagram illustrating a method of power managementimprovement according to an embodiment of the invention.

FIGS. 4A and 4B show graphs illustrating a first power mode and a secondpower mode according to an embodiment of the invention.

DETAILED DESCRIPTION

Various embodiments and aspects of the inventions will be described withreference to details discussed below, and the accompanying drawings willillustrate the various embodiments. The following description anddrawings are illustrative of the invention and are not to be construedas limiting the invention. Numerous specific details are described toprovide a thorough understanding of various embodiments of the presentinvention. However, in certain instances, well-known or conventionaldetails are not described in order to provide a concise discussion ofembodiments of the present inventions.

Reference in the specification to one embodiment or an embodiment meansthat a particular feature, structure or characteristic described inconnection with the embodiment is included in at least one embodiment ofthe invention. The appearance of the phrase “in one embodiment” invarious places in the specification do not necessarily refer to the sameembodiment.

FIG. 1 illustrates a data processing system and power sources suitablefor operation of an embodiment of the invention. Data processing system105 includes display 110 and a processor (not shown). The dataprocessing system may be coupled to A/C power 115 or battery 120. SinceA/C power 115 is effectively unlimited, the data processing system 105may be configured to use more power to produce an increase inperformance when coupled to A/C power 115. For example, data processingsystem 105 may compute and display refreshes to display 110 morefrequently while coupled to A/C power 115. Refreshing display 110 morefrequently may enhance a user's experience while using data processingsystem 105 (e.g., playing a video game).

Alternatively, while data processing system 105 is only coupled tobattery 120 (e.g., in a meeting, on an airplane, etc.), reducing powerconsumption may be a higher priority for data processing system 105 thanenhancing the user's experience by refreshing the display morefrequently. Reducing power consumption by data processing system 105while coupled only to battery 120 may enhance the amount of time thedata processing system 105 continues to function before battery 120requires recharging.

Refreshing a display (e.g., a LCD coupled to a laptop computer) mayconsume power in more than one way. For example, determining what datathe next refresh should display may require a central processing unit(CPU) to perform update-region calculations. A graphics processor unit(GPU) may need to perform specialized graphics processing to generatedata ultimately required by the refresh. The display, such as display110, must change from displaying the current set of data to the updatedset of data. All of these may be components of a display refresh, andeach consumes power during operation. Refreshing the display isdescribed in greater detail below in conjunction with FIG. 3. Powerconsumption attributable to refreshing the display also depends upon howfrequently the display is refreshed, as described in greater detailbelow in conjunction with FIGS. 4A and 4B. By refreshing the displaywith greater frequency (i.e., shorter time intervals between refreshes),the data processing system 105 may appear more responsive to a user.Refreshing the display using a lower frequency may cause the dataprocessing system 105 to appear less responsive to the user, butfunction longer on a single battery charge.

FIG. 2 shows one example of a data processing system which may be usedwith one embodiment the present invention. For example, the system 200may be implemented as data processing system 105 as shown in FIG. 1.Note that while FIG. 2 illustrates various components of a computersystem, it is not intended to represent any particular architecture ormanner of interconnecting the components as such details are not germaneto the present invention. It will also be appreciated that networkcomputers and other data processing systems which have fewer componentsor perhaps more components may also be used with the present invention.

As shown in FIG. 2, the computer system 200, which is a form of a dataprocessing system, includes a bus 203 which is coupled to amicroprocessor(s) 205 and a ROM (Read Only Memory) 207 and volatile RAM209 and a non-volatile memory 211. The microprocessor 205 is coupled tocache 204. The microprocessor 205 may retrieve the instructions from thememories 207, 209, 211 and execute the instructions to performoperations described above. The bus 203 interconnects these variouscomponents together and also interconnects these components 205, 207,209, and 211 to a display controller and display device 213 and toperipheral devices such as input/output (I/O) devices which may be mice,keyboards, modems, network interfaces, printers and other devices whichare well known in the art. Typically, the input/output devices 215 arecoupled to the system through input/output controllers 217. The volatileRAM (Random Access Memory) 209 is typically implemented as dynamic RAM(DRAM) which requires power continually in order to refresh or maintainthe data in the memory.

The mass storage 211 is typically a magnetic hard drive or a magneticoptical drive or an optical drive or a DVD RAM or a flash memory orother types of memory systems which maintain data (e.g., large amountsof data) even after power is removed from the system (e.g., amachine-readable storage medium). Typically, the mass storage 211 willalso be a random access memory although this is not required. While FIG.2 shows that the mass storage 211 is a local device coupled directly tothe rest of the components in the data processing system, it will beappreciated that the present invention may utilize a non-volatile memorywhich is remote from the system, such as a network storage device whichis coupled to the data processing system through a network interfacesuch as a modem, an Ethernet interface or a wireless network. The bus203 may include one or more buses connected to each other throughvarious bridges, controllers and/or adapters as is well known in theart.

FIG. 3 shows a flow diagram illustrating a method that may be performedby a data processing system to improve power management. At block 305,the method selects a time interval based on a current power mode. Apower mode may be battery power, A/C power, etc. The selected timeinterval represents the amount of time that passes between displayrefreshes. For example, the interval may be 1/60^(th) of a second. Inother words, the display would be refreshed sixty times per second.Alternatively, the interval may be 1/30^(th) of a second. Otherintervals may be used. In another embodiment, a user configuration mayspecify intervals corresponding to different power modes.

As described above, frequency of display refreshes may influence therate of power consumption. To reduce power consumption and enhancebattery life, the method selects 1/30^(th) of a second as the timeinterval if the current power mode is battery power. If the currentpower mode is A/C power, the method selects 1/60^(th) of a second. Atblock 310, the method gathers or coalesces updates to the display. Forexample, processes executing on the data processing system (e.g.,calendar, word processor, video game, etc.) may need to change the databeing displayed. These processes may generate a request to modify thedisplay, resulting in an update coalesced by the method. In oneembodiment, the method may discard certain updates that are determinedto be duplicative over the existing coalesced updates. For example, themethod may determine that an update is redundant with respect to othergathered updates (i.e., would produce no relevant change in thesubsequent display refresh.) The method may ignore the redundant updateand/or not coalesce the update.

At block 315, shortly before the selected time interval elapses, themethod stops coalescing updates and computes a display refresh (e.g.,new pixels) specified for the coalesced updates. This may require CPUtime to calculate the update region based on the coalesced updates. Themethod may also use resources on a graphics card or display adapter,such as texture memory or a graphics processing unit. Computing thedisplay refresh may include compositing pixels and color correctingtextures.

At block 320, the method causes the display to perform a refresh. Therefresh causes the updated region computed at block 315 to replaceobsolete data on the display. In other words, what a user may perceiveon the display is changed to reflect the coalesced updates. In oneembodiment, the method performs the refresh in response to an updatesignal.

FIGS. 4A and 4B show graphs illustrating a first power mode and a secondpower mode according to an embodiment of the invention. Both figuresshow graphs where power consumption is represented by the vertical axisand the passage of time is represented by the horizontal axis. Graph 400illustrates a “fast” refresh rate, such as 1/60^(th) of a second. Asdescribed above, this refresh rate may provide a more responsive displayfor a user. Peaks 405 and 410 correspond to power consumption associatedwith refreshing the display. Turning to FIG. 4B, graph 450 illustrates a“slow” refresh rate, such as 1/30^(th) of a second. For each peak 455(e.g., for each refresh) at a refresh rate of 1/30^(th) of a second, tworefreshes occur in graph 400. Power consumption over time attributableto refreshing the display is reduced when a refresh rate of 1/30^(th) ofa second is used instead of 1/60^(th) of a second.

The power mode of a data processing system may change over time. Forexample, a laptop computer may be plugged into A/C power while a user isin the office, but may switch to battery mode while the user is in ameeting. In one embodiment, the refresh rate changes automatically whena change in power mode occurs. In another embodiment, a userconfiguration specifies whether the automatic switching behavior isactive. The user configuration may be accessed through a graphical userinterface, such as a preferences dialog box.

Some operating systems, such as Mac OS X, handle display updates with awindow server. A window server acts as a single point of contact betweenapplications running under the operating system and the graphicshardware. In such an environment, coalescing updates to the display isstraightforward when implemented inside the window server, since nodirect access to the graphics hardware is permitted except through thewindow server. In other operating systems, such as some versions ofMicrosoft Windows, applications may have direct access to the graphicshardware. This direct access makes coalescing updates more difficult,since there is no single point through which all updates pass. At leastcertain embodiments of the invention are able to work with either directaccess or indirect access (e.g., through a window server).

In the foregoing specification, the invention has been described withreference to specific exemplary embodiments thereof. It will be evidentthat various modifications may be made thereto without departing fromthe broader spirit and scope of the invention as set forth in thefollowing claims. The specification and drawings are, accordingly, to beregarded in an illustrative sense rather than a restrictive sense.

1. A machine implemented method for processing data, the methodcomprising: gathering updates to a display during a time interval,wherein the interval has a first value if a first power mode is selectedand the interval has a second value if a second power mode is selectedand wherein the first value is shorter than the second value; andcomputing a display refresh specified by the updates.
 2. The method ofclaim 1 wherein computing the display refresh comprises processing by acentral processing unit (CPU) and accessing a graphics card.
 3. Themethod of claim 1 further comprising: causing the display to perform thedisplay refresh.
 4. The method of claim 1 wherein the second power modeis a power-saving mode.
 5. The method of claim 1 wherein the gatheringfurther comprises: determining an update is redundant with respect toother gathered updates; and ignoring the redundant update.
 6. A machineimplemented method for processing data, the method comprising:coalescing updates to a display during a first time interval if a firstpower mode is selected; coalescing updates to the display during asecond time interval if a second power mode is selected, wherein thefirst time interval is shorter than the second time interval and whereinthe second power mode is configured to consume less power than the firstpower mode; computing a refresh of the display specified by thecoalesced updates; and performing the refresh on the display.
 7. Themethod of claim 6 further comprising: switching between the first powermode and the second power mode, wherein the switching occursautomatically in response to a change in power source.
 8. The method ofclaim 6 wherein computing the refresh comprises: compositing pixelscorresponding to the coalesced updates; color correcting textures of thepixels.
 9. The method of claim 6 wherein the coalescing furthercomprises: determining an update is duplicative with respect to othercoalesced updates; and ignoring the duplicative update.
 10. A machineimplemented method for processing data, the method comprising:refreshing a display at a first frequency when operating in a firstpower mode; and refreshing a display at a second frequency whenoperating in a second mode, wherein the first frequency is higher thanthe second frequency and wherein the second power mode is configured toconsume less power than the first power mode and wherein the selectionof the first power mode or the second power made automatically selectsthe refresh rate.
 11. The method of claim 10 further comprising:switching between the first power mode and the second power mode,wherein the switching occurs automatically when a change in power modeoccurs.
 12. The method of claim 10 wherein the first power modecorresponds to A/C power and wherein the second power mode correspondsto battery power.
 13. A machine-readable storage medium storinginstructions which when executed by a data processing system cause thedata processing system to perform a method of processing data, themethod comprising: gathering updates to a display during a timeinterval, wherein the interval has a first value if a first power modeis selected and the interval has a second value if a second power modeis selected and wherein the first value is shorter than the secondvalue; and computing a display refresh specified by the updates.
 14. Themachine-readable storage medium of claim 13 wherein computing thedisplay refresh comprises processing by a central processing unit (CPU)and accessing a graphics card.
 15. The machine-readable storage mediumof claim 13, the method further comprising: causing the display toperform the display refresh.
 16. The machine-readable storage medium ofclaim 13 wherein the second power mode is a power-saving mode.
 17. Themachine-readable storage medium of claim 13 wherein the gatheringfurther comprises: determining an update is redundant with respect toother gathered updates; and ignoring the redundant update.
 18. Amachine-readable storage medium storing instructions which when executedby a data processing system cause the data processing system to performa method of processing data, the method comprising: coalescing updatesto a display during a first time interval if a first power mode isselected; coalescing updates to the display during a second timeinterval if a second power mode is selected, wherein the first timeinterval is shorter than the second time interval and wherein the secondpower mode is configured to consume less power than the first powermode; computing a refresh of the display specified by the coalescedupdates; and performing the refresh on the display.
 19. Themachine-readable storage medium of claim 18, the method furthercomprising: switching between the first power mode and the second powermode, wherein the switching occurs automatically in response to a changein power source.
 20. The machine-readable storage medium of claim 18wherein computing the refresh comprises: compositing pixelscorresponding to the coalesced updates; color correcting textures of thepixels.
 21. The machine-readable storage medium of claim 18 wherein thecoalescing further comprises: determining an update is duplicative withrespect to other coalesced updates; and ignoring the duplicative update.22. A machine-readable storage medium storing instructions which whenexecuted by a data processing system cause the data processing system toperform a method of processing data, the method comprising: refreshing adisplay at a first frequency when operating in a first power mode; andrefreshing a display at a second frequency when operating in a secondmode, wherein the first frequency is higher than the second frequencyand wherein the second power mode is configured to consume less powerthan the first power mode and wherein the selection of the first powermode or the second power made automatically selects the refresh rate.23. The machine-readable storage medium of claim 22, the method furthercomprising: switching between the first power mode and the second powermode, wherein the switching occurs automatically when a change in powermode occurs.
 24. The machine-readable storage medium of claim 22 whereinthe first power mode corresponds to A/C power and wherein the secondpower mode corresponds to battery power.
 25. A data processing systemcomprising: means for gathering updates to a display during a timeinterval, wherein the interval has a first value if a first power modeis selected and the interval has a second value if a second power modeis selected and wherein the first value is shorter than the secondvalue; and means for computing a display refresh specified by theupdates.
 26. The data processing system of claim 25 wherein computingthe display refresh comprises processing by a central processing unit(CPU) and accessing a graphics card.
 27. The data processing system ofclaim 25 further comprising: means for causing the display to performthe display refresh.
 28. The data processing system of claim 25 whereinthe second power mode is a power-saving mode.
 29. The data processingsystem of claim 25 wherein the gathering further comprises: means fordetermining an update is redundant with respect to other gatheredupdates; and means for ignoring the redundant update.
 30. A dataprocessing system comprising: means for coalescing updates to a displayduring a first time interval if a first power mode is selected; meansfor coalescing updates to the display during a second time interval if asecond power mode is selected, wherein the first time interval isshorter than the second time interval and wherein the second power modeis configured to consume less power than the first power mode; means forcomputing a refresh of the display specified by the coalesced updates;and means for performing the refresh on the display.
 31. The dataprocessing system of claim 30 further comprising: means for switchingbetween the first power mode and the second power mode, wherein theswitching occurs automatically in response to a change in power source.32. The data processing system of claim 30 wherein the means forcomputing the refresh comprises: means for compositing pixelscorresponding to the coalesced updates; means for color correctingtextures of the pixels.
 33. The data processing system of claim 30wherein the coalescing further comprises: means for determining anupdate is duplicative with respect to other coalesced updates; and meansfor ignoring the duplicative update.
 34. A data processing systemcomprising: means for refreshing a display at a first frequency whenoperating in a first power mode; and means for refreshing a display at asecond frequency when operating in a second mode, wherein the firstfrequency is higher than the second frequency and wherein the secondpower mode is configured to consume less power than the first power modeand wherein the selection of the first power mode or the second powermade automatically selects the refresh rate.
 35. The data processingsystem of claim 34 further comprising: means for switching between thefirst power mode and the second power mode, wherein the switching occursautomatically when a change in power mode occurs.
 36. The dataprocessing system of claim 34 wherein the first power mode correspondsto A/C power and wherein the second power mode corresponds to batterypower.